package com.zp.drug.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zp.common.core.entity.BaseEntity;
import com.zp.common.excel.annotation.ExcelDictFormat;
import com.zp.common.excel.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
 * 药品入库明细视图对象
 *
 * @author zhang peng
 * @ date 2023-07-05
 */
@Data
@ExcelIgnoreUnannotated
public class DrugImportDetailVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private String id;

    /**
     * 主表Id
     */
    @ExcelProperty(value = "主表Id")
    private String masterId;

    /**
     * 库存id
     */
    @ExcelProperty(value = "库存id")
    private String stockId;

    /**
     * 序号
     */
    @ExcelProperty(value = "序号")
    private String itemNo;

    /**
     * 药品编码
     */
    @ExcelProperty(value = "药品编码")
    private String drugCode;

    /**
     * 药品字典drug_info id
     */
    @ExcelProperty(value = "药品字典drug_info id")
    private String drugInfoId;

    /**
     * 包装数量
     */
    @ExcelProperty(value = "包装数量")
    private Integer packageNum;

    /**
     * 包装规格
     */
    @ExcelProperty(value = "包装规格")
    private String packageSpec;

    /**
     * 包装单位
     */
    @ExcelProperty(value = "包装单位", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "spec_unit")
    private String packageUnits;

    /**
     * 最小规格
     */
    @ExcelProperty(value = "最小规格")
    private String minSpec;

    /**
     * 最小单位
     */
    @ExcelProperty(value = "最小单位", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "spec_unit")
    private String minUnits;

    /**
     * 大小包装：1(小包装)；2(大包装)
     */
    @ExcelProperty(value = "大小包装：1(小包装)；2(大包装)")
    private String packSize;

    /**
     * 进货价(批量入库的入库价,发放出库的零售价)
     */
    @ExcelProperty(value = "进货价(批量入库的入库价,发放出库的零售价)")
    private BigDecimal tradePrice;

    /**
     * 零售价
     */
    @ExcelProperty(value = "零售价")
    private BigDecimal retailPrice;

    /**
     * 折扣
     */
    @ExcelProperty(value = "折扣")
    private BigDecimal discount;

    /**
     * 批号
     */
    @ExcelProperty(value = "批号")
    private String batchNo;

    /**
     * 生产日期
     */
    @ExcelProperty(value = "生产日期")
    private Date produceDate;

    /**
     * 有效期
     */
    @ExcelProperty(value = "有效期")
    private Date expireDate;

    /**
     * 小包装库存量
     */
    @ExcelProperty(value = "小包装库存量")
    private Integer quantity;

    /**
     * 机构ID
     */
    @ExcelProperty(value = "机构ID")
    private String orgId;

    /**
     * 货位
     */
    @ExcelProperty(value = "货位")
    private String location;

    /**
     * 发票号
     */
    @ExcelProperty(value = "发票号")
    private String invoiceNo;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date invoiceDate;

    /**
     * 总库存
     */
    @ExcelProperty(value = "总库存")
    private Integer allStock;

    /**
     * 备注信息
     */
    @ExcelProperty(value = "备注信息")
    private String remarks;

    /**
     * 比例
     */
    @ExcelProperty(value = "比例")
    private BigDecimal proportion;

    /**
     * 药品名称
     */
    @ExcelProperty(value = "药品名称")
    private String drugName;


    /**
     * 售价(小规格)
     */
    private BigDecimal retailPriceMin;
    /**
     * 进货价(小规格)
     */
    private BigDecimal tradePriceMin;

    private String firmName;

    private String firmId;

    private String priceId;


}
